Technical Q&A QA1141
Disabling a Processor on a Multiprocessor System


Q: éÑÇÕÅAÉ}ÉãÉ`ÉvÉçÉZÉbÉTìãç⁄Çà Macintosh ÉRÉìÉsÉÖÅ[É^ÇéùǡǃǢNjÇ∑ÅBÉvÉçÉZÉbÉTÇà 1 ǬÇàÍéûìIÇ…ñ≥å¯Ç…ǵǃÅAÉVÉìÉOÉãÉvÉçÉZÉbÉTÇÃä¬ã´Ç≈é©ï™Çà Mac OS X êªïiÇÉeÉXÉgǵǃǛÇΩÇ¢ÇÃÇ≈Ç∑Ç™ÅADZÇÍÇÕÇ«ÇÃÇÊǧDžÇ∑ÇÍÇŒâ¬î\Ç≈ǵÇÂǧǩÅH

A: Open Firmware ÇéùǬÇ∑Ç◊ǃÇà Power Macintosh ÉVÉXÉeÉÄÇ≈ÇÕÅAÉvÉçÉZÉbÉTÇÃêîÇ™é¿ç€Ç…ë∂ç›Ç∑ÇÈÇÊÇËLJè≠ǻǢÇΔÉVÉXÉeÉÄÇ…êMÇ∂Ç≥ÇπÇÈÇÊǧDžê›íËÇïœçXÇ≈Ç´Ç‹Ç∑ÅBMac OS X Çà Terminal ÉAÉvÉäÉPÅ[ÉVÉáÉìÇégǡǃÅAnvram ÉRÉ}ÉìÉhÇì¸óÕǵǃÉVÉXÉeÉÄÇÉäÉuÅ[ÉgÇ≈Ç´Ç‹Ç∑ÅBÇ‹ÇΩÇÕÅAOpen Firmware ä¬ã´ì‡Ç≈óòópÇ≈Ç´ÇÈï˚ñ@LJdžÇËÇ‹Ç∑ÅB



Mac OS X Çà Terminal ÉAÉvÉäÉPÅ[ÉVÉáÉìÇégǡǃÉvÉçÉZÉbÉTÇÃêîÇ 1 Ç…ê›íË

éüÇÃéwé¶ÇÕÅAMac OS X ÇÃèÍçáÇ…ÇÃÇ›óLå¯Ç≈Ç∑ÅBÉvÉçÉZÉbÉTÇÃêîÇïœçXÇ∑ÇÈÇ…ÇÕ root ÇÃÉpÉXÉèÅ[ÉhÇ‹ÇΩÇÕä«óùé“ÇÃÉpÉXÉèÅ[ÉhÇímǡǃǢÇÈïKóvǙdžÇËÇ‹Ç∑ÅBê›íËïœêîÅAboot-args Çê›íËÇ∑ÇÈÇ…ÇÕÅATerminal ÉAÉvÉäÉPÅ[ÉVÉáÉìÇégǡǃ nvram ÉRÉ}ÉìÉhÇî≠çsǵNjÇ∑ÅBéüÇÃéËèáÇ…è]ǢNjÇ∑ÅB

éËèá 1ÅFTerminal ÉAÉvÉäÉPÅ[ÉVÉáÉìÇãNìÆÇµÇ‹Ç∑ÅBTerminal ÉAÉvÉäÉPÅ[ÉVÉáÉìÇÕ /Applications/Utilities/Terminal DždžÇËÇ‹Ç∑ÅB

éËèá 2ÅFboot-args ÇÃåªç›ÇÃê›íËÇå©ÇÈÇ…ÇÕÅAéüÇÃÉRÉ}ÉìÉhÇì¸óÕǵNjÇ∑ÅB


         % nvram boot-args


éËèá 3ÅFéüÇÃÉRÉ}ÉìÉhÇì¸óÕǵNjÇ∑ÅB


         % sudo nvram boot-args="cpus=1"

boot-args ÇÃåªç›ÇÃílÇà€éùÇ∑ÇÈèÍçáÇÕÅAǪÇÃílÇçƒì¸óÕÇ∑ÇÈïKóvǙdžÇËÇ‹Ç∑ÅBÇΩÇΔǶnjÅAéËèá 2 ÇÃåãâ Ç™éüÇÃÇÊǧDžǻǡÇΩÇΔǵNjÇ∑ÅB


         boot-args       debug=0x4

ǪÇÃèÍçáÅAnvram ÉRÉ}ÉìÉhÇéüÇÃÇÊǧDžì¸óÕǵNjÇ∑ÅB


         % sudo nvram boot-args="debug=0x4 cpus=1"


éËèá 4ÅFÉpÉXÉèÅ[ÉhÇóvãÅÇ≥ÇÍÇΩÇÁÅAroot ÇÃÉpÉXÉèÅ[ÉhÇ‹ÇΩÇÕä«óùé“ÇÃÉpÉXÉèÅ[ÉhÇì¸óÕǵNjÇ∑ÅB

éËèá 5ÅFÉVÉXÉeÉÄÇçƒãNìÆÇµÇ‹Ç∑ÅB

à»è„ÇÃÉRÉ}ÉìÉhÇ…ÇÊÇËÅAïsäˆî≠ê´ RAMÅiNVRAMÅjÇ…ÅAOpen Firmware ÇÃê›íËïœêîÅA"boot-args" Ç™ê›íËÇ≥ÇÍÇ‹Ç∑ÅBDZÇÃDZÇΔÇÕÅAÉVÉXÉeÉÄÇçƒãNìÆÇµÇƒÇ‡ê›íËÇ™à€éùÇ≥ÇÍÇÈDZÇΔÇà”ñ°ÇµÇ‹Ç∑ÅB çƒãNìÆÇ∑ÇÈëOÇ…ê›íËÇïœçXǵÇΩèÍçáÇÕÅAå„Ç…çsÇ¡ÇΩê›íËÇ™ëOÇÃê›íËÇè„èëǴǵNjÇ∑ÅBboot-args ÇÃÉXÉyÉãÇä‘à·Ç¶ÇΩÇΔǵǃLJÅAåxçêÇÕèoÇ∏ÅAêVǵǢÉGÉìÉgÉäÇ™ÅiǮǪÇÁÇ≠ñ≥à”ñ°Ç…ÅjNVRAM Ç…çÏÇÁÇÍÅAégÇÌÇÍÇÈÉvÉçÉZÉbÉTÇÃêîÇÕçƒãNìÆå„LJïœÇÌÇËÇ‹ÇπÇÒÅB

èdóvÇ»íçà”ì_ - ÉvÉçÉZÉbÉTÇÃêîÇÕÅAè≠Ç»Ç≠ÇΔLJ 1 Ǭà»è„Ç≈Ç»ÇØÇÍnjǻÇÁÇ∏ÅAÇ‹ÇΩÉVÉXÉeÉÄÇ…é¿ç€Ç…ë∂ç›ÇµÇƒÇ¢ÇÈêîÇâzǶǃéwíËÇ∑ÇÈDZÇΔÇÕÇ≈Ç´Ç‹ÇπÇÒÅBïsê≥Ç»ÉvÉçÉZÉbÉTÇÃêîÇéwíËÇ∑ÇÍÇŒÅAÉVÉXÉeÉÄÇ™ÅAÉuÅ[ÉgèàóùÇÃç≈íÜÇ…í‚é~Ç∑ÇÈèÍçáLJdžÇËÇ‹Ç∑ÅBDZÇÍÇ™ãNDZǡÇΩèÍçáÇÕÅAéüêflÇà Åucpus ê›íËÇÃÉNÉäÉAÅvÇ≈ê‡ñæÇ∑ÇÈ PRAM ÉNÉäÉAÇé¿çsÇ∑ÇÈïKóvǙdžÇËÇ‹Ç∑ÅB

Open Firmware DžǮǢǃLJ boot-args ê›íËïœêîÇê›íËÇ≈Ç´Ç‹Ç∑ÅBDZÇÃÉIÉvÉVÉáÉìDžǬǢǃÇÕÅADZÇà Q&A ÇÃç≈å„ÇÃÅuOpen Firmware Ç…Ç®ÇØÇÈ cpus ÇégÇ¡ÇΩ Mac OS X ÇÃÉvÉçÉZÉbÉTêîÇÃê›íËÅvÇÃêflÇ≈ê‡ñæÇµÇ‹Ç∑ÅB



cpus ê›íËÇÃÉNÉäÉA

cpus ÇÕ NVRAM Ç…ê›íËÇ≥ÇÍÅAǪÇÃê›íËÇÕÅAïœçXdžÇÈÇ¢ÇÕÉNÉäÉAÇ≥ÇÍÇÈÇ‹Ç≈ÅAâΩìxçƒãNìÆÇµÇƒÇ‡à€éùÇ≥ÇÍÇ‹Ç∑ÅBcpus Çï ÇÃílÇ…ê›íËÇ∑ÇÈÇ…ÇÕÅAè„ãLÇÃéËèáÇégǢNjÇ∑ÅBcpus ê›íËÇÉNÉäÉAÇ∑ÇÈÇ…ÇÕéüÇà 3 ǬÇÃï˚ñ@ǙdžÇËÇ‹Ç∑ÅB

1. Terminal ÉAÉvÉäÉPÅ[ÉVÉáÉìÇégǡǃ boot-args ê›íËïœêîÇÉNÉäÉAǵNjÇ∑ÅBÇΩÇΔǶnjÅATerminal ÉAÉvÉäÉPÅ[ÉVÉáÉìDžǮǢǃéüÇÃÉRÉ}ÉìÉhÇì¸óÕǵNjÇ∑ÅB


         % sudo nvram boot-args=""

DZÇÃÉRÉ}ÉìÉhÉVÅ[ÉPÉìÉXÇÕ boot-args ÇÃílÇÉNÉäÉAǵNjÇ∑ÅB

2. PRAM ÉNÉäÉAÇ…ÇÊÇË boot-args ÇÃílÇÉNÉäÉAÇ≈Ç´Ç‹Ç∑°ÉVÉXÉeÉÄÇçƒãNìÆÇµÅA2 ìxñ⁄ÇÃãNìÆÉrÅ[ÉvâπÇ™ï∑DZǶÇÈÇ‹Ç≈ Command-Option-P-R ÉLÅ[ÇâüǵÇΩNjNjDžǵNjÇ∑ÅBǪÇÃå„ÉLÅ[Çó£Ç∑ÇΔÉVÉXÉeÉÄÇÕí èÌí ÇËÇ∑Ç◊ǃÇà CPU ÇîFéØÇµÇΩèÛë‘Ç≈çƒãNìÆÇ≥ÇÍÇ‹Ç∑ÅBDZÇÃï˚ñ@ÇÃèÍçáÅAìΔé©Ç…ê›íËǵÇΩÇŸÇ©Çà NVRAM ê›íËLJÉNÉäÉAÇ≥ÇÍÇÈDZÇΔÇÕñYÇÍǻǢÇ≈Ç≠ÇæÇ≥Ç¢ÅB

3. ç≈å„Ç…ÅAÅuÉVÉXÉeÉÄä¬ã´ê›íËÅvÇëIëǵÅuãNìÆÉfÉBÉXÉNÅvÇÉNÉäÉbÉNÇ∑ÇÈDZÇΔÇ…ÇÊǡǃÅAcpus ê›íËÇÉNÉäÉAÇ≈Ç´Ç‹Ç∑ÅBǪÇÃå„ãNìÆÉfÉBÉXÉNÇï ÇÃÉ{ÉäÉÖÅ[ÉÄÇ…êÿÇËë÷ǶNjÇ∑ÅBDZÇÃï˚ñ@Ç≈ÇÕÅAboot-args ê›íËïœêîÇÃÇ∑Ç◊ǃÇÃì‡óeÇ™ÉNÉäÉAÇ≥ÇÍÇ‹Ç∑ÅBTerminal ÉAÉvÉäÉPÅ[ÉVÉáÉìÇégǡǃê›íËÇÉNÉäÉAÇ∑ÇÈèÍçáÇΔìØólÇ≈Ç∑ÅB



Open Firmware Ç…Ç®ÇØÇÈ cpus ÇégÇ¡ÇΩ Mac OS X ÇÃÉvÉçÉZÉbÉTêîÇÃê›íË

Open Firmware ÉÜÅ[ÉUÉCÉìÉ^ÉtÉFÅ[ÉXÇégǡǃÅANVRAM Ç…ìØÇ∂ cpus ÇÃê›íËÇçsǧDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBNVRAM Ç…ê›íËÇ≥ÇÍÇΩå„ÇÕÅAǪÇÃê›íËÇÕÉVÉXÉeÉÄÇÃçƒãNìÆå„LJà€éùÇ≥ÇÍÇ‹Ç∑ÅB

Open Firmware ì‡Ç≈ cpus ÇÃílÇê›íËÇ∑ÇÈÇ…ÇÕÅAéüÇÃéËèáÇ…è]ǢNjÇ∑ÅB

éËèá 1. Open Firmware ÇÃä¬ã´Ç…ì¸ÇËÇ‹Ç∑ÅB
ÉVÉXÉeÉÄÇçƒãNìÆÇµÅAOpen Firmware ÇÃâÊñ Ç™ï\é¶Ç≥ÇÍÇÈÇ‹Ç≈ Command-Option-O-F ÇâüǵÇΩNjNjDžǵNjÇ∑ÅB

éËèá 2. boot-args ÇÃåªç›ÇÃê›íËílÇå©ÇÈÇΩÇflÇ…ÅAéüÇÃÉRÉ}ÉìÉhÇì¸óÕǵNjÇ∑ÅB


         cr boot-args type cr

ÅiOpen Firmware ÇÃà§ópé“ÇÃíÜÇ…ÇÕÅAprintenv boot-args Ç≈LJìØÇ∂DZÇΔÇ™Ç≈Ç´ÇÈÇΔãCïtǢǃǢÇÈêlLJǢÇÈǩLJǵÇÍÇ‹ÇπÇÒÅBǵǩǵDZÇÃï˚ñ@Ç≈ÇÕ boot-args DždžÇÈäeï∂éöÇ™ÅAêlÇ™ì«ÇflÇÈÉeÉLÉXÉgï∂éöóÒÇ≈ÇÕÇ»Ç≠ 16 êiêîÇÃílÇ≈èoóÕÇ≥ÇÍǃǵNjǢNjÇ∑ÅBÅj

éËèá 3. éüÇÃÉRÉ}ÉìÉhÇì¸óÕǵNjÇ∑ÅB


         setenv boot-args cpus=1

DZÇÃÉRÉ}ÉìÉhçsÇ≈ÇÕÅATerminal ÉAÉvÉäÉPÅ[ÉVÉáÉìÇégÇ¡ÇΩÇΔÇ´ÇÃÇÊǧDžÅA2 èdà¯ópïÑÇÕégǢNjÇπÇÒÅB

boot-args ÇÃåªç›ÇÃílÇà€éùÇ∑ÇÈèÍçáÇÕÅAǪÇÃílÇçƒì¸óÕÇ∑ÇÈïKóvǙdžÇËÇ‹Ç∑ÅBó·Ç¶ÇŒÅAéËèá 2 ÇÃåãâ Ç™éüÇÃÇÊǧDžǻǡÇΩÇΔǵNjÇ∑ÅB


         debug=0x4
          ok

ǪÇÃèÍçáÅAÉRÉ}ÉìÉhÇéüÇÃÇÊǧDžì¸óÕǵNjÇ∑ÅB


         setenv boot-args debug=0x4 cpus=1


éËèá 3. ok Ç™ï‘Ç≥ÇÍÇΩÇÁÅAéüÇÃÉRÉ}ÉìÉhÇì¸óÕǵǃÉuÅ[ÉgèàóùÇë±ÇØÇ‹Ç∑ÅB


         mac-boot

ê›íËÇÉNÉäÉAÇ∑ÇÈèÍçáÇÕÅAè„ãLÅucpus ê›íËÇÃÉNÉäÉAÅvÇÃêflÇ≈ê‡ñæÇµÇΩÉIÉvÉVÉáÉìÇéQèΔǵǃÇ≠ÇæÇ≥Ç¢ÅB



éQçlï∂å£

Tech Note 1061 Fundamentals of Open Firmware, Part I: The User Interface, Part I in the Open Firmware Technote Series

Tech Note 2004 Debugging Open Firmware Using Telnet

Tech Note 1062 Fundamentals of Open Firmware, Part II: The Device Tree Part II in the Open Firmware Technote Series

[2002 îN 3 åé 22 ì˙]